package com.jumi.microservice.stock.service;

import com.jumi.microservice.stock.domain.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @Description
 * @ClassName StockTransferService
 * @Author Abel Yang
 * @Date 2020/9/11/011 12:51
 **/
public interface StockTransferService {

    /**
     * @Description: 申请调货
     * @Param stockTransferApplyDTO
     * @Return {@link boolean}
     * @Throws
     * @Author Abel Yang
     * @Date 2020/9/11/011 15:15
     */
    Boolean addTransfer(StockTransferApplyDTO stockTransferApplyDTO, HttpServletRequest request) throws Exception;

    /**
     * @Description: 查询调货记录
     * @Param stockTransferRequestDTO
     * @Return {@link List<    StockTransferVO   >}
     * @Throws
     * @Author Abel Yang
     * @Date 2020/9/11/011 14:10
     */
    List<StockTransferVO> getTransferList(StockTransferSearchDTO stockTransferSearchDTO);

    /**
     * @Description: 根据申请记录查询详情
     * @Param transferId
     * @Return {@link StockTransferDetailVO}
     * @Throws
     * @Author Abel Yang
     * @Date 2020/9/15 0:29
     */
    StockTransferDetailVO getTransferDetail(Long transferId);

    /**
     * @Description:编辑申请
     * @Param stockTransferApplyDTO
     * @Param request
     * @Return {@link Boolean}
     * @Throws
     * @Author Abel Yang
     * @Date 2020/9/15/015 11:09
     */
    Boolean editTransfer(StockTransferApplyDTO stockTransferApplyDTO, HttpServletRequest request);

    /**
     * @Description: 审核操作
     * @Param transferIds
     * @Param checkStatus
     * @Param checkRemark
     * @Return {@link Boolean}
     * @Throws
     * @Author Abel Yang
     * @Date 2020/9/15/015 14:46
     */
    Boolean auditTransfer(StockTransferAuditDTO auditDTO, HttpServletRequest request);
}
